package com.zhxy.util.bean;

public interface WalkerContext {
	
	/**
	 * 当前的被遍历的对象
	 * @return
	 */
	Object getObject();
	
	/**
	 * 属性名
	 * @return
	 */
	String getName();
	
	/**
	 * 如果遍历的是键值对集合，则表示键
	 * @return
	 */
	Object getKey();
	
	/**
	 * 如果遍历的是有序集合，则这里表示索引号
	 * @return
	 */
	int getIndex();
	
	/**
	 * 属性的值
	 * @return
	 */
	Object getValue();
	
	/**
	 * 修改属性原有的值
	 * @param value
	 */
	void setValue(Object value);
	
	/**
	 * 对于当前属性的值 ，不再进行更深一层的属性遍历
	 */
	void stop();
	
	/**
	 * 立即停止所有属性遍历操作
	 */
	void terminate();
}
